ROBOTICKÉ RAMENO
Vlastimil Vágner
Po delší době jsem se rozhodl sestavit kdysi
zakoupenou stavebnici robotnického ramene, jde o stavebnici „ROBOTICKÉ RAMENO
AKRYLOVÉ DIY – 4DOF ROBOT Arm“ se čtyřmi servy. Ke stavebnici není dodáván
stavební návod na ALEGRO.CZ v sekci
s těmito robotnickými rameny je u uvedeného modelu soubor PDF kde jsou fotografie
s postupem sestavení. Na ovládání jsem si napsal program na odzkoušení ovládání
serv ramen po sestavení, tak program pro ovládání ramen v automatu, kdy se
ramena včetně čelistí na uchopení pohybují dle zadaných hodnot, nebo možnost
ovládání potenciometry. Programy je možné si individuálně upravovat dle
potřeby.
STRUČNÝ POPIS STAVEBNICE
Stavebnice
obsahuje všechny potřebné díly na sestavení robotnického ramene včetně
spojovacího materiálu, pouze je nutné dokoupit čtyři kusy MIKRO SERV SG90. Dále
je nutné dokoupit řídící jednotku já jsem použil domácí zásoby ARDUINO NANO a
pro něho pak modul ARDUINO NANO IO SHIELD pro jednoduchost zapojení. Díly pro
sestavení ramene jdou dobře tzv. vylamovat „vypadávají skoro sami.
K servům pokud použijete nové tak doporučuji je před montáží odzkoušet zda
jsou funkční v plném rozsahu tj. od 0° do 180°, po namontování a zjištění
že servo nefunguje to pak opravdu dost zahýbá s nervy.
POPIS SESTAVENÍ
Po vyjmutí
dílů z desky se kterými budeme konkrétně hned pracovat, jako první pokud
bude v tomto dílu zašroubován šroubek tak na pracovní ploše, pomocí šroubku
opatrně v tomto dílu vyřízneme závit. „Jde to velice dobře ale je lepší
nespěchat“ A AŽ POTÉ ODSTRANÍME PAPÍROVÉ KRYTÍ DÍLU, tím zabráníme poškrábání
povrchu. Použité délky šroubků jsou dobře popsány v uvedeném souboru PDF který je dostupný u uvedené stavebnice.
Uvedená serva mají označení „servo na otáčení podesty s rameny je označené jako
č.1, servo na levé straně ramene má označení servo č.2, (servo jsem si při programování
označil jako zadní rameno) servo na pravé straně má označení servo č.3 (servo
jsem si při programování označil jako přední rameno) a servo pohybující
čelistmi má označení servo č.4. Po vyjmutí všech dílů z desek tyto hned
nevyhazujte určitě je použijete jako já, po osazení serva je lepší vždy pořádně
zkontrolovat zda se servo hýbe správným směrem. A nakreslit si k tvaru
serva s jeho číslem páčku v jaké pozici má hodnotu 0° a hodnotu
180°, vždy je lepší osadit páčku na hřídelku serva a zjistit si správný pohyb
tak jak má být v ramenu. Pro toto zkoušení je vhodné si nahrát do ARDUINA
program TEST OVLÁDÁNÍ SERV.INO a na
počítači spustit program pro počítač „sériový terminál“ s názvem
ARDUINO.EXE. Namontované servo do dílu otestujeme tak že jej připojíme na datový
PIN D2 to je PIN který ovládá servo č.1 na desce ARDUINO IO SHIELDU. Ve
spuštěném programu ARDUINO.EXE na počítači pak zadáme hodnotu pro hodnotu 180°
tj. 180,0,0,0 a odešleme do ARDUINA a servo se vychýlí do zadané hodnoty, poté
zadáme hodnoty 0,0,0,0 (stačí myší přepsat hodnotu 180 na hodnotu 0 a opět
odešleme do ARDUINA servo se přesune do polohy 0. Takto postupně odzkoušíme
všechny namontovaná serva na dílech, u serva č.4 při zadaní hodnoty 180° se
musí čelisti otevřít a při zadané hodnotě 160° se musí čelisti zavřít. Tyto
hodnoty jak pro otevření tak zavření je nutné odzkoušet pro hodnotu otevření
pak stačí hodnota 170°, hodnotu pro zavření postupně snižujeme od hodnoty 170°
až dostaneme čelisti k sobě. Pokud
by jsme pro hodnotu zavření čelistí zadali malou hodnotu tak časem zničíme
servo, protože servo nemůže tuto hodnotu nikdy dosáhnout když jsou čelisti u
sebe. Při hodnotě zavření například 160° a zadaná hodnota by byla například
40°. Po dokončení robotického ramene jsem byl nucen opět demontovat otočnou
podestu ramen namontovanou na hřídelce serva č.1, z důvodu velkých výkyvů
ramen a nestability celku čímž by došlo k brzkému zničení serva č.1 a
pohyb ramen byl nestabilní. Po demontáži jsem ze zbytků od použitých dílů
ramene odřízl čtyři kusy proužků upravil dle potřebné délky a tyto nalepil
pomocí EPOXYDU na podestu
s namontovaným servem č.1, po vytvrzení lepidla jsem tyto dodatečné díly jemným
pilníkem zarovnal tak aby pohyblivý díl nesoucí ramena po nasazení na hřídelku
serva č.1 při otáčení nedrhnul. Toto byla v mém případě pouze jediná úprava,
úprava je vyfocena zde v popisu. Vyrobené robotické rameno může být ovládáno
ve dvou možnostech pro ovládání pouze v režimu automat tzv. vykonává
pohyby pouze v naprogramovaném módu tak jak si jej naprogramujete a používám
i já, nebo může být řídící jednotka osazena společně s potenciometry a pak
můžeme s použitým programem ovládat robotické rameno jak v módu
automat tak v módu ručně kdy ovládáme ramena a čelisti pomocí
potenciometrů. Připojení serv a potenciometrů je na přiložených obrázcích,
vzhledem k tomu že je v pohybu vždy pouze jedno servo postačuje
napájení serv z desky ARDUINO NANO která je napájena z regulovatelného
zdroje napětím DC 9V/1A.
POPIS PROGRAMŮ
Programy
pro ARDUINO jsou celkem tři s názvy „ROBOTICKÉ RAMENO_AUT_RUČ,
TEST_OVLÁDÁNÍ_SERV a AUTOMAT_ROBOTICKÉ_RAMENO“. Pro počítač je program ARDUINO.EXE
jde o terminálový program pro komunikaci s mikroprocesory. Jde o velice
jednoduché programy pro ovládání robotického ramene, všechny programy pro
ARUINO NANO (UNO) při inicializaci nastavují servo č.1, servo č.2, servo č.3 do
počáteční hodnoty 90° servo č.4 je nastaveno do polohy 170° otevřené čelisti. Program
ROBOTICKÉ RAMENO_AUT_RUČ je určen dle volby vypínače automat – ručně na
ovládání ramene tuto volíme před zapnutím napájení elektroniky, program
AUTOMAT_ROBOTICKÉ:RAMENO ovládá rameno dle naprogramovaného režimu. Program TEST_OVLÁDÁNÍ_SERV
je určen k oživení ramene a zjištění hodnot serv do kterých se mohou MAXIMÁLNĚ
POHYBOVAT SERVA, součástí programu pro počítač ARDUINO.EXE je v adresáři i
soubor PDF s popisem ovládání a zadávání hodnot.
OŽIVENÍ ROBOTICKÉHO RAMENE
Do ARDUINA
nahrajeme program TEST_OVLÁDÁNÍ_SERV připojíme serva dle nákresu zde v popisu,
servo č.1 připojíme na datový PIN D2, servo č.2 připojíme na datový PIN D5,
servo č.3 připojíme na datový PIN D3 a servo č.4 připojíme na datový PIN D4.
Pokud máme osazeny i potenciometry pro ruční ovládání TYTO ZATÍM NEPŘIPOJUJEME
K ARDUINO IO SHIELDU, na počítači spustíme program ARDUINO.EXE dle návodu
zadáme parametry komunikační sériový port COM, komunikační rychlost pokud je
jiná než 9600Bd a spustíme komunikaci. Nyní zapneme napájení ARDUINA a serva
č.1, č.2, č.3 se po inicializaci nastaví sama do výchozích poloh 90° a servo
čelistí do polohy 180° čelisti otevřeny. Nyní v textovém okně sériového
terminálu Arduino.exe pro odesílání dat zadáme hodnoty 90,100,100,180 a
kliknutím na tlačítko odeslat je odešleme do ARDUINA servo č.1 zůstane
v poloze 90, servo č.2 se přesune do polohy 100, servo č.3 se také přesune
do polohy 100, a servo č.4 zůstane ve stejné poloze. V okně příjem dat
textového editoru se postupně zobrazí zadané hodnoty, hodnoty odeslané tak
přijaté je možné si uložit pro pozdější zadání hodnot v programech ROBOTICKÉ
RAMENO_AUT_RUČ, i v programu AUTOMAT_ROBOTICKÉ:RAMENO pokud již zadané
hodnoty poloh serv bude nutno upravit dle hodnot zjištěných při oživování.
Hodnoty v pořadí ovládají serva první zadaná hodnota ovládá servo č.1 podesta
ramene, druhá hodnota ovládá servo č.2
„zadní rameno“, třetí zadaná hodnota ovládá servo č.3 „přední rameno“ a čtvrtá
hodnota ovládá servo č.4 otvírání – zavírání čelistí. Postupným zadáváním
hodnot zjistíme krajní polohy všech serv HODNOTY PRO SERVA ZADÁVÁME
V MENŠÍCH HODNOTÁCH PROTOŽE SE SERVA POHYBUJÍ RYCHLE. Stejně postupujeme
při zadávání jiných hodnot pro automatický režim což je pak již programování
robotického ramene. Po odzkoušení funkčnosti ramene vypneme napájení ramene
ukončíme program na počítači ARDUINO.EXE
a k ARDUINO IO SHIELDU připojíme potenciometry u kterých pak
nastavíme hřídelky do ¼ od krajního vývodu „G“. Do ARDUINA nahrajeme
program ROBOTICKÉ RAMENO_AUT_RUČ a přepnutí vypínače do polohy ručně, můžeme
pomalým otáčením hřídelek potenciometrů ovládat serva. Potenciometr č.1 je
připojen ke vstupu A0 a ovládá servo č.1 otáčení podesty, potenciometr č.2 je
připojen ke vstupu A1 a ovládá servo č.2 zadní rameno, potenciometr č.3 je
připojen ke vstupu A2 a ovládá servo č.3 přední rameno a potenciometr č.4 je
připojen ke vstupu A3 a ovládá servo č.4 čelisti. Pokud není potřeba měnit
parametry krajních poloh serv v části programu ROBOTICKÉ RAMENO_AUT_RUČ
pro automatický režim a je možné rameno provozovat s již zadanými
hodnotami pak vypneme napájení ARDUINA a vypínač volby automat – ručně přepneme
do polohy automat a odzkoušíme i tuto funkci tím je oživení ukončeno a další provoz
je již individuální.
díly stavebnice
díly stavebnice
spojovací materiál
díly se zašroubovanými šroubky
pohyblivý díl s rameny
spodní díl podesty s nalepenými proužky
proti výkyvům pohyblivého dílu
detail nalepených proužků na spodním dílu
spodní díl podesty se základnou
pohon zadního ramene servo č.2
pohon předního ramene servo č.3
detail smontovaných čelistí pohled ze
spodu
rameno s namontovaným servem čelistí
osazená řídící deska ARDUINO IO SHIELD
s ARDUINO NANO na desce
připojené napájení do řídící jednotky
Použité prameny:
PDF popis sestavy stavebnice www.alegro.cz
Bližší informace:
Vagnervlastimil@seznam.cz